home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48hor2
/
estr.doc
< prev
next >
Wrap
Text File
|
1995-03-31
|
3KB
|
65 lines
(Comp.sys.hp48)
Item: 2488 by jdg@hpqtdla.sqf.hp.com [James Gentles]
Subj: Calculating Easter
Date: 22 Dec 1992
There follows a HP48 routine to compute Easter. It accepts either the year
or the date in current format. Internally the routine uses European format,
dd.mmyyyy, and then at the end checks current format with flag -42, and
changes accordingly using a small routine to swap day and month D<-->M
(Sorry, I haven't included this small routine, its not a big deal)
[I took the liberty of modifying the end of the program to make it
work no matter which date format you use. Unfortunately, this "fix"
only allows dates between 1989 and 2088. If you need dates outside
this range, change the code back to James' original as listed below.
-jkh-]
The output is the date of Easter in current date format on the stack.
James
------------------cut here estr ------------------------------------------
%%HP: T(3)A(D)F(.);
\<<
IF DUP 100 >
THEN 1000000 /
END .01 MOD DUP
1000000 * DUP 19
MOD 19 * 24 + 30
MOD DUP 6 * ROT DUP
4 MOD 2 * SWAP 7
MOD 4 * + + 5 + 7
MOD OVER + \-> d m
\<<
IF m 9 \<=
THEN 22 m + .03 +
ELSE m 9 - 'm' STO
IF m 26 ==
THEN 19.04
ELSE
IF m 25 == d 28 == AND
THEN 18.04
ELSE m .04 +
END
END
END +
IF -42 FC? @ changed these \ DATE RCLF ROT -42
THEN D\<-\->M @ lines to this: > SF \->DATE STOF
END @ -jkh- / DATE SWAP \->DATE
\>>
\>>
------------------cut here estr ------------------------------------------
I have no professional connection with Hewlett-Packard's
calculator operations other than as a user of their products.
------------------------------------------------------------------------
Opinions expressed are my own, and are not intended to be an official
statement by Hewlett-Packard Company/Limited
------------------------------------------------------------------------
"To strive, to seek, to find, and not to yield." Ulysses, Tennyson.
------------------------------------------------------------------------
James Gentles Hewlett Packard, Amateur: GM4WZP
Queensferry Telecoms Division QTD, Email: jdg@hpsqf.sqf.hp.com
Station Road, South Queensferry, HPDESK: James Gentles / HP1400
West Lothian, Scotland, EH30 9XR. Phone: +44 31 331 7663, FAX: ~7488
------------------------------------------------------------------------